﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace DeepTime.BootStrapper.Utilities
{
    public class MouseExtensionBehaviours
    {


        public static bool GetIsMouseButtomDown(DependencyObject obj)
        {
            return (bool)obj.GetValue(IsMouseButtomDownProperty);
        }

        public static void SetIsMouseButtomDown(DependencyObject obj, bool value)
        {
            obj.SetValue(IsMouseButtomDownProperty, value);
        }

        // Using a DependencyProperty as the backing store for IsMouseButtomDown.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty IsMouseButtomDownProperty =
            DependencyProperty.RegisterAttached("IsMouseButtomDown", typeof(bool), typeof(MouseExtensionBehaviours), new PropertyMetadata(false));



        public static Point GetDownPosition(DependencyObject obj)
        {
            return (Point)obj.GetValue(DownPositionProperty);
        }

        public static void SetDownPosition(DependencyObject obj, Point value)
        {
            obj.SetValue(DownPositionProperty, value);
        }

        // Using a DependencyProperty as the backing store for DownPosition.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty DownPositionProperty =
            DependencyProperty.RegisterAttached("DownPosition", typeof(Point), typeof(MouseExtensionBehaviours), new PropertyMetadata(new Point()));


    }
}
